package com.rykj.qxj.server.services;

import java.util.List;


import com.github.pagehelper.PageInfo;
import com.rykj.qxj.server.model.entity.ApiVersionManage;

public interface IApiVersionManageService {
	/**
	 * 
	 * @Description:应用管理员获取分页列表 数据 
	 * @date:   2019年5月7日 上午9:28:51  
	 * @author: wangshunyi    
	 * @throws
	 */
	PageInfo selectPageBySearchParams(Integer pageNum, Integer pageSize, String changeType,
			String apiVerifyStatus,Integer apiId);
     /**
      * 
      * @Description: 根据主键查询接口版本信息  
      * @param: id 接口版本的id    
      * @date:   2019年5月7日 上午9:29:59  
      * @author: wangshunyi    
      * @throws
      */
	ApiVersionManage selectByPrimaryKey(Integer id);
	/**
	 * 
	 * @Description:根据接口的id查询接口下的所有版本  
	 * @param: apiId 接口id    
	 * @date:   2019年5月7日 上午9:30:42  
	 * @author: wangshunyi    
	 * @throws
	 */
	List<ApiVersionManage> selectApiVersionManageListByApiId(Integer apiId);
	/**
	 * @throws Exception 
	 * @Description: API审核操作   
	 * @param: apiVersionId  接口版本的id   
	 * @param: verifyStatus 审核状态    
	 * @param: verifyBy 审核人    
	 * @param: verifyDesc   审核描述  
	 * @date:   2019年3月26日 上午10:24:59  
	 * @author: wangshunyi    
	 * @throws
	 */
	void verifyIngApiManage(Integer apiVersionId, String verifyStatus, String verifyBy, String verifyDesc) throws Exception;
	/**
	 * 
	 * @Description: 删除接口版本   
	 * @param:  apiVersionId 接口版本的id     
	 * @date:   2019年5月7日 上午9:32:52  
	 * @author: wangshunyi    
	 * @throws
	 */
	void deleteApiVersionManage(Integer apiVersionId);
	/**
	 * 
	 * @Description:根据接口的id查询 改接口下面的所有接口版本分页数据  
	 * @date:   2019年5月7日 上午9:33:26  
	 * @author: wangshunyi    
	 * @throws
	 */
	PageInfo selectApiVersionManagePageByApiId(Integer pageNum, Integer pageSize, Integer apiId);
	/**
	 * 
	 * @Description: 更新接口版本 
	 * @param:apiVersionManage 接口版本信息     
	 * @date:   2019年5月7日 上午9:34:25  
	 * @author: wangshunyi    
	 * @throws
	 */
	void updateByPrimaryKeySelective(ApiVersionManage apiVersionManage);
	/**
	 * @throws Exception 
	 * 
	 * @Description: 接口版本的启用与禁用操作   
	 * @param: apiVersionId 接口版本的id     
	 * @param: status 接口版本的状态   
	 * @date:   2019年5月9日 上午10:05:31  
	 * @author: wangshunyi    
	 * @throws
	 */
	void enableOrDisableOperation(Integer apiVersionId,String status) throws Exception;
	

}
